本日小作品:
https://codepen.io/linchinhsuan/pen/wvGZzyR
var el = document.getElementById("webBackground");
el.addEventListener("change",function(e){......}
在select上加上事件監聽,當所選擇的值切換時,會觸發change事件,進一步執行函式內的內容。
var choose = e.target.value;
e.target
即所觸發事件的dom元素,假設我們切換到【火車背景】,那這個元素就是<option value="train">火車背景</option>
,透過.value
撈出元素的值,以這個例子來說就是train,並賦值到變數choose上。
var wrap = document.querySelector(".wrap");
switch(choose){
case "light":
wrap.setAttribute("class","wrap " + choose);
break;
case "train":
wrap.setAttribute("class","wrap " + choose);
break;
case "tree":
wrap.setAttribute("class","wrap " + choose);
break;
};
宣告一個變數wrap,即背景的dom元素。透過switch來進行判定,括號內帶入前面得到的變數choose,以前面的案例來說就是train,符合第二個case。所以會執行wrap.setAttribute("class","wrap " + choose);
這段程式碼,將wrap上加上一個新的class。
最後,透過三個各自與choose同名的class來讓不同背景之間得以切換。
---
本日結語:
今天是十六天,今天主要是練習select和change事件之間的應用,如有寫錯之處麻煩各路高手指教><